package net.borlis.sample.web.context.mock;

import net.borlis.dictionaries.product.DeprecatedProductType;
import net.borlis.dictionaries.product.LifecycleStateDictionary;
import net.borlis.dictionaries.product.SaleType;
import net.borlis.sample.services.declaration.VitoService;
import net.borlis.sample.services.declaration.common.VitoObject;
import net.borlis.sample.services.declaration.input.VitoCodesFilterObject;
import net.borlis.sample.services.declaration.input.VitoIdsFilterObject;
import net.borlis.sample.services.declaration.output.DynamixProviderObject;
import net.borlis.sample.services.declaration.output.TravelDurationObject;
import net.borlis.sample.services.declaration.output.VitoFilterObject;

import javax.enterprise.inject.Alternative;
import java.util.List;

/**
 * @author alex@borlis.net
 */
@Alternative
public class MockVitoService implements VitoService {

    @Override
    public VitoObject getVito(LifecycleStateDictionary state, String locale, Number id, Number userId) {
        return null;
    }

    @Override
    public VitoObject getVito(LifecycleStateDictionary state, String locale, String code, Number userId) {
        return null;
    }

    @Override
    public List<VitoObject> getVitos(LifecycleStateDictionary state, String locale, VitoIdsFilterObject filter, Number userId) {
        return null;
    }

    @Override
    public List<VitoObject> getVitos(LifecycleStateDictionary state, String locale, VitoCodesFilterObject filter, Number userId) {
        return null;
    }

    @Override
    public List<DynamixProviderObject> getProviders(LifecycleStateDictionary state, String locale, DeprecatedProductType type, Number userId) {
        return null;
    }

    @Override
    public List<DynamixProviderObject> getVitoProviders(LifecycleStateDictionary state, String locale, DeprecatedProductType type, Number vitoId, Number userId) {
        return null;
    }

    @Override
    public VitoObject createVito(LifecycleStateDictionary state, String locale, String code, String name, String kid, String countryCode, Number userId, Double firstFixedMargin, Double relativeMargin, Double secondFixedMargin, Integer releaseDays, List<TravelDurationObject> travelDurationEntityList) {
        return null;
    }

    @Override
    public void configureProvider(LifecycleStateDictionary state, String locale, Number vitoId, Number providerId, Boolean enabled, SaleType saleType, Number userId) {

    }

    @Override
    public VitoFilterObject getVitoFilter(LifecycleStateDictionary state, String locale, Number userId) {
        return null;
    }

    @Override
    public List<VitoObject> getVitos(LifecycleStateDictionary state, String locale, Number userId) {
        return null;
    }

    @Override
    public List<DynamixProviderObject> getActiveVitoProviders(LifecycleStateDictionary state, String locale, DeprecatedProductType type, Number vitoId, Number userId) {
        return null;
    }

    @Override
    public void findAndInitDynamixAccountById(Number userId) {

    }

    @Override
    public void findAndInitVitoById(LifecycleStateDictionary state, Number vitoId) {

    }
}
